package cn.iocoder.yudao.module.trade.controller.app.brokerage.vo.log;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;

import javax.validation.constraints.*;
import java.math.BigDecimal;
import java.util.List;

@Schema(description = "用户 APP - 佣金操作日志新增/修改 Request VO")
@Data
public class AppBrokerageLogSaveReqVO {

    @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "23951")
    private Long id;

    @Schema(description = "操作的用户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "27873")
    @NotNull(message = "操作的用户编号不能为空")
    private Long userId;

    @Schema(description = "真实姓名", example = "李四")
    private String userName;

    @Schema(description = "应支付金额", requiredMode = Schema.RequiredMode.REQUIRED, example = "27641")
    @NotNull(message = "应支付金额不能为空")
    private BigDecimal payPrice;

    @Schema(description = "提现手续费", requiredMode = Schema.RequiredMode.REQUIRED, example = "15294")
    @NotNull(message = "提现手续费不能为空")
    private BigDecimal feePrice;

    @Schema(description = "操作总佣金", requiredMode = Schema.RequiredMode.REQUIRED, example = "20234")
    @NotNull(message = "操作总佣金不能为空")
    private BigDecimal totalPrice;

    @Schema(description = "提现类型：0-扫码", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
    @NotNull(message = "提现类型：0-扫码不能为空")
    private Integer type;

    @Schema(description = "收款码", example = "https://www.iocoder.cn")
    private String accountQrCodeUrl;

    @Schema(description = "状态：1 - 支付成功；2-支付失败", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
    @NotNull(message = "状态：1 - 支付成功；2-支付失败不能为空")
    private Integer status;

    @Schema(description = "操作所有记录ID")
    private List<Integer> records;

    @Schema(description = "备注", example = "你猜")
    private String remark;

}